package com.faxsun.admin.service;

import java.math.BigDecimal;
import java.util.List;

import org.broadleafcommerce.core.order.domain.Order;
import org.broadleafcommerce.core.payment.domain.PaymentTransaction;

import com.faxsun.admin.web.domain.ResponseEntity;
import com.faxsun.admin.web.domain.form.RefundInfoForm;

public interface RefundService {

	public List<Order> listToBeRefund();
	
	public List<PaymentTransaction> listRefundedTransaction();
	
	public List<Order> listRefundOrder();
	
	public ResponseEntity executeRefund(RefundInfoForm refundInfoForm);
	
	public Order readOrderByOrderNumber(String orderNumber);
	
	public Order createOrder();
	
	public BigDecimal calulateRemainingRefundAmount(Order order);

	public List<PaymentTransaction> listRefundedTransactionByOrder(String orderId);
}
